Fighting Class Name Clashes in Java Component Systems
نویسندگان
چکیده
This paper deals with class and interface name clashes in Java component systems that occur because of evolutionary changes during the lifecycle of a component application. We show that the standard facilities of the Java type system do not provide a satisfactory way to deal with the name clashes, and present a solution based on administering the names of classes and interfaces with a version identifier using a byte code manipulation tool. We provide a proof of concept implementation.
منابع مشابه
Managing Class Names in Java Component Systems with Dynamic Update
This paper deals with class and interface name clashes in Java component systems that occur because of evolutionary changes during the lifecycle of a component application. We show that the standard facilities of the Java type system do not provide a satisfactory way to deal with the name clashes, and present a solution based on administering the names of classes and interfaces with a version i...
متن کاملJava Class Deployment Using Class Collections
Java applications are composed of classes which are usually grouped and deployed using Java Archives. When an application is started, the hosting Java Virtual Machine (JVM) obtains the required classes one by one as they are needed from these archives. For this purpose, the JVM locates the related byte code by taking the names of the class and its package and evaluating the environment setting ...
متن کاملLate Component Adaptation
In this paper we advocate our position for late component adaptation. We propose binary component adaptation (BCA) as a mechanism to modify existing components (such as Java classfiles) to the specific needs of a programmer. Binary component adaptation allows components to be adapted and evolved in binary form and during program loading. BCA rewrites component binaries while they are loaded, re...
متن کاملSecurity Risks in Java-based Mobile Code Systems
Java is the predominant language for mobile agent systems, both for implementing mobile agent execution environments and for writing mobile agent applications. This is due to inherent support for code mobility by means of dynamic class loading and separable class name spaces, as well as a number of security properties, such as language safety and access control by means of stack introspection. ...
متن کاملJava Needs Compound Types
We propose to extend the Java type system with a new construction: compound types, compositions of a class and any number of interfaces. Java users will benefit from the type system’s increased expressiveness, resulting in more kinds of errors being statically excludable. Compound types are particularly beneficial when several independently predefined standards need to be considered, as typical...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003